package process

import (
	"encoding/json"
	"fmt"
	commonmodel "helloword01/31chatroom/common/model"
)

// outPutGroupMes
//
//	@Description: 输出接收到的群消息
//	@param mes
func outPutGroupMes(mes *commonmodel.Message) {
	var smsMes commonmodel.SmsMes
	err := json.Unmarshal([]byte(mes.Data), &smsMes)
	if err != nil {
		fmt.Println(commonmodel.ParseJsonError, err)
	}
	info := fmt.Sprintf("用户ID:%d 发送的[群消息]: %v\n", smsMes.UserId, smsMes.Content)
	fmt.Println(info)
}

// outPutPrivateMes 打印私信
//
//	@Description:
//	@param mes
func outPutPrivateMes(mes *commonmodel.Message) {
	var smsMes commonmodel.SmsPrivateMes
	err := json.Unmarshal([]byte(mes.Data), &smsMes)
	if err != nil {
		fmt.Println(commonmodel.ParseJsonError, err)
	}
	if smsMes.Code == 500 {
		info := fmt.Sprintf("你发送给[%d]的[私信]发送失败!!!\n", smsMes.ToUserId)
		fmt.Println(info)
	} else {
		info := fmt.Sprintf("用户ID:%d 给你[私信]: %v\n", smsMes.UserId, smsMes.Content)
		fmt.Println(info)
	}

}

// outPutLogoutMes 打印登录退出信息
//
//	@Description:
//	@param mes
func outPutLogoutMes(mes *commonmodel.Message) {
	var logoutMes commonmodel.LogoutMes
	err := json.Unmarshal([]byte(mes.Data), &logoutMes)
	if err != nil {
		fmt.Println(commonmodel.ParseJsonError, err)
	}
	removeUserFromOnlineUser(logoutMes.UserId)
	sprintf := fmt.Sprintf("用户[%d] 于[%s] 退出系统", logoutMes.UserId, logoutMes.LogoutTime)
	fmt.Println(sprintf)
}
